Importing Pre-packaged Software into Lisp: Experience with Arbitrary-Precision Floating-Point Numbers

نویسنده

  • Richard J. Fateman
چکیده

We advocate the use of a Common Lisp as a central organizing environment for building scientific computing systems, based on its debugging features, interactivity, memory model, existing code-base for computer algebra and user interfaces, and its ability to dynamically load modules written in other languages. In this paper we primarily address one example of mixing pre-existing (non Lisp) code into this system: an elaborate FORTRAN system written by David Bailey for arbitrary-precision floatingpoint numeric calculation. We discuss the advantages and disadvantages of wholesale importing such a system into Lisp. The major advantage is being able to use state-of-the art packaged software interactively while overcoming the disadvantages caused by FORTRAN’s traditional batch orientation and weak storage model. In this paper we emphasize in particular how effective use of imported systems may require one to address the contrast between the functional (Lisp-like) versus state-transitionbased (Fortran-like) approaches to dealing with compound objects. While our main example is high-precision floats, we mention other highly-useful packages including those for simulation, PDE solutions, signal processing, statistical computation, linear algebra (LAPACK) that have also been used with Lisp. We provide pointers to additional applications of this

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Importing the Gnu Multiple Precision Package (GMP) into Lisp, and implications for Functional Programming

Advocating the use of a Common Lisp as a central organizing environment for building scientific computing systems runs counter to the conventional wisdom, which suggests that languages like Fortran, C++, or even Java, are more suitable. We prefer Lisp based on its debugging features, interactivity, memory model, existing code-base for computer algebra and user interfaces, and for purposes of th...

متن کامل

Quad Double Arithmetic in Lisp

In a numerical calculation sometimes we need higher-than double-precision floating-point arithmetic to allow us to be confident of a result. One alternative is to rewrite the program to use a software package implementing arbitrary-precision extended floating-point arithmetic such as ARPREC or MPFR, and try to choose a suitable precision. Such an arithmetic scheme, in spite of helpful tools, ma...

متن کامل

A Parameterized Floating-Point Formalizaton in HOL Light

We present a new, open-source formalization of fixed and floating-point numbers for arbitrary radix and precision that is now part of the HOL Light distribution [10]. We prove correctness and error bounds for the four different rounding modes, and formalize a subset of the IEEE 754 [1] standard by gluing together a set of fixed-point and floating-point numbers to represent the subnormals and no...

متن کامل

New Algorithms for Efficient Taylor Model Operations including Arbitrary Precision

Within the framework of Taylor Model implementations, the multiplication of Taylor models is the most time intensive operation, and thus benefits most from performance improvements. We note that in the mulplication, every coefficient is utilized repeatedly in various products, and so it is possible to do limited pre-processing of the coefficients without performance penalty due to the preproces...

متن کامل

Design and Implementation of a High Precision Arithmetic with Rigorous Error Bounds

In this paper we present the design of a rigorous, high precision floating point arithmetic. The algorithms presented are implementation in FORTRAN, and are made available through the COSY INFINITY rigorous computation package. The three design objectives for these high precision intervals are high speed, particularly for the elementary operations, absolutely rigorous treatment of roundoff erro...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000